Today it is very common that information is sent over computer networks. The amount of information being sent is rapidly increasing due to the advances in technology, making it possible to send and handle more information at higher speed. Furthermore, new applications demand a higher amount of information. Even further, the importance of information has opened up a new field of business wherein information is sold.
An example of computer systems where information dissemination important is electronic trading systems.
Electronic trading of securities, derivatives, commodities, and other financial instruments result in large amount of information which has to be distributed to users that need the information for making trade decisions, statistical calculations. and other assessments. Furthermore, the users connected to such a centralised trading system want to have the information as soon as possible. In these cases it may not be enough to only boost the performance in the central system by for example updating the hardware, in order to get rid of a bottleneck or other latency problem in the system. Usually these bottlenecks end up at the user side anyway, since the users may have limited possibilities to update their connection to the central system.
Thus, this type of central system has to generate and distribute a lot of data to many different users not only on a continuous basis but also at specific times and occasions during a trading day, and it has to be done in an efficient way.
An example of a system for providing electronic information is described in US 2005/0273421. This document describes a system wherein the trading information and multiple types of electronic information are sent in the same data stream. Providing electronic trading information and electronic information on the same data stream significantly increases the computations required by a target device and by servers used by electronic trading providers to separate the information. The system disclosed in US 2005/0273421 solves this problem by splitting the first data stream into plural second data streams that can be selectively requested, displayed, and used by a user. Each of the plural second data streams includes one or more of the plural different types of electronic trading information from the first data stream, thereby allowing an individual target device to selectively request, receive, and use the one or more of the plural types of electronic trading information in the second data stream faster than using the same electronic trading information from the first data stream.
However, this type of filtering is often too rough since a user/client is most likely also interested in other data streams. Thus the above described system has drawbacks, especially in environments having limited bandwidth, since it splits the information based on the type of electronic information. Hence the above system is not particularly helpful in networks where the data rates of the connections for users is limited and varies between different users.
A trading system may have other functionalities for distributing information. However, the problem is that they require the system to generate and send duplicated information.
These functionalities may for example generate one message flow for a user A (with a great connection) that contains the entire depth and one message flow for a user B (with a poor connection) that contains a limited picture of the market (top X levels). The two messages contain duplicated information for the top X levels resulting in an extra load on both the central systems performance and the traffic on the central and peripheral networks.
Another problem is that usually there is a central processor/s that aggregates the information and distributes it. Since the processor has to use time on aggregating and spreading duplicated information, there is less time for other tasks such as receiving information, and thus, bottlenecks may occur in other parts of the system.
Another problem is consideration of counter performances provided by customers when distributing data. Some customers may experience an unfair treatment.